package com.itheima.reggie.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.itheima.reggie.dto.DishDto;
import com.itheima.reggie.pojo.Dish;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface DishMapper extends BaseMapper<Dish> {

    /**
     * 按条件分页查询菜品
     * @param page
     * @param name
     * @return
     */
    Page<DishDto> queryDishDtoPage(@Param("page") Page<DishDto> page, @Param("name") String name);

    /**
     * 根据菜品id查询菜品和菜品口味(嵌套查询)
     * @param id
     * @return
     */
    DishDto queryDishDtoById(Long id);

    /**
     * 根据菜品id查询菜品和菜品口味(连接查询)
     * @param id
     * @return
     */
    DishDto queryDishDtoByDishId(Long id);

    /**
     * 根据分类id查询所有起售菜品
     * @param categoryId
     * @param name
     * @return
     */
    List<DishDto> queryDishDtoList(@Param("categoryId") Long categoryId,
                                   @Param("name") String name, @Param("status") Integer status);

    /**
     * 查询套餐中的菜品和份数
     * @param setMealId
     * @return
     */
    List<DishDto> queryDishDtoBySetMealId(Long setMealId);
}
